<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？

        // push向数组末尾添加数据,添加元素后数组的长度;
        // pop删除数组最后一个数据,被删除的数据;
        // unshift在数组的最前面插入一条数据,添加数据以后数组的长度
        // shift删除数组最前一个数据,被删除的数据

        // 2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组

        // let arr = ["西瓜","香蕉","菠萝"]
        // arr = arr.shift();
        // console.log(arr);

        // 3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组

        // let arr = [1, 2, 3, 4, 2]
        // let res = arr.slice(0,1)
        // let res1 = arr.slice(2,4)
        // let res2 = res.concat(res1)
        // console.log(res2);
        // let arr = [1, 2, 3, 4, 2]
        // let newarr = [];
        // for(let i = 0;i < arr.length;i++){
        //     if(arr[i] != 2){
        //         newarr.push(arr[i])
        //     }
        // }
        // console.log(arr);
        // 4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack']

        let arr = [1, 2, 3, 4, 2]
        function fn(arr) {
            let newarr = []
            for (let i = 0; i < arr.length; i++) {
                if (arr[i] == 2) {
                    newarr.push(arr[i], "jack")
                } else {
                    newarr.push(arr[i])
                }
            }
            return newarr;
        }
        fn(arr)
        console.log(fn(arr));

        // 统计数组 var arr = ["a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c"]; 中 每个字母出现的次数，以对象的形式返回。
        // {
        //     a:xx,
        //     b:xx,
        // }

        // let a = 0;
        // let b = 0;
        // let c = 0;
        // let obj = {}
        // var arr = ["a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c"]
        // for(let i=0;i < arr.length;i++){
        //     (arr[i]=="a")?(a++):(arr[i]=="b")?(b++):(c++)
        // }
        // obj.a = a;
        // obj.b = b;
        // obj.c = c;
        // console.log(obj);

        // let obj = {};
        // for(let i = 0;i < arr.length;i++){
        //     obj[arr[i]] = (obj[arr[i]]+1) || 1
        // }
        // console.log(obj);
    </script>
</body>

</html>